package map;
import java.sql.*;
import java.util.*;

import dm.Autor;


public class AutorDAO {
	
    public void AddAutor(String nro, String nombre, String Apellido)
    {
    	// sin implementar
    }
    
    public void DelAutor(String nro)
    {
    	// sin implementar
    }
    
    public Autor GetAutor(String codigo) throws SQLException
    {
		Autor autor = null;
       	String sentencia = "select * from authors where au_id = ?";
		PreparedStatement pstmt = new ConfigDAO().GetPrepareCall(sentencia);
		pstmt.setString(1, codigo);
		ResultSet rs = pstmt.executeQuery();
		if (rs.next())
		{
			autor = MapAutor(rs);
		}
	    pstmt.getConnection().close();
		return autor;
    }
    
	public Set<Autor> GetAutores() throws SQLException
	{
       	String sentencia = "select * from authors";
		PreparedStatement cstmt = new ConfigDAO().GetPrepareCall(sentencia);
		Set<Autor> autores = new HashSet<Autor>();
		ResultSet rst = cstmt.executeQuery();
		while (rst.next())
		{
			autores.add(MapAutor(rst));
		}
		cstmt.getConnection().close();
		return autores;
	}
	
	Autor MapAutor(ResultSet rs) throws SQLException {
		Autor autor = new Autor();
		autor.setCodigo(rs.getString("au_id"));
		autor.setApellido(rs.getString("au_lname"));
		autor.setNombre(rs.getString("au_fname"));
		autor.setActivo(rs.getBoolean("contract"));
		return autor;
	}
}
